package com.edu.coder.xcz.homwork6.t2;

public class Complex {
    /***** 定义私有成员属性real和im *****/
    private Double real;
    private Double im;


    /***** 定义带参的和不带参的两个构造方法 *****/

    public Complex(Double real, Double im) {
        this.real = real;
        this.im = im;
    }

    public Complex() {
    }

    /***** 定义add方法，实现当前对象与另一个复数相加 *****/
    public Complex add(Complex complex) {
        Complex c = new Complex(this.real + complex.real, this.im + complex.im);
        return c;
    }


    /***** 定义miuns方法，实现当前对象与另一个复数相减 *****/
    public Complex miuns(Complex complex) {
        Complex c = new Complex(this.real - complex.real, this.im - complex.im);
        return c;
    }


    /***** 重写Object类的toString方法，以“实部+虚部i”的形式输出当前对象 *****/
    @Override
    public String toString() {
        if (im > 0) {
            return "=" + real + "+" + im + "i";
        } else if (im == 0) {
            return "=" + real;
        } else if (im == 0 && real == 0) {
            return "0";
        } else {
            return "=" + real + im + "i";
        }
    }

    /***** 重写Object类的equals方法，比较当前对象与另一个对象是否相等 *****/
    public void equals(Complex complex) {
        if (this.real.equals(complex.real) && this.im.equals(complex.im)) {
            System.out.println("两个复数相等");
        } else System.out.println("两个复数不相等");
    }
}